]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
status/a11y: Simplify "Large Text" toggle
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 18 Dec 2024 17:12:29 +0000 (18:12 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 10 Jan 2025 11:47:04 +0000 (12:47 +0100)
It is the last user of `_buildItemExtended()`, so merge it with
`_buildFontItem()`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3576>
(cherry picked from commit 3d87782a589e2fecd892f26f6fa7568dfb5b2108)

js/ui/status/accessibility.js

index 5e6c447f33737e6fd545fe4c240256bf2a5361d3..44c9dc9f97eacb2bcb0af284b906eb07b9ead336 100644 (file)
@@ -105,18 +105,6 @@ class ATIndicator extends PanelMenu.Button {
         GLib.Source.set_name_by_id(this._syncMenuVisibilityIdle, '[gnome-shell] this._syncMenuVisibility');
     }
 
-    _buildItemExtended(string, initialValue, writable, onSet) {
-        let widget = new PopupMenu.PopupSwitchMenuItem(string, initialValue);
-        if (!writable) {
-            widget.reactive = false;
-        } else {
-            widget.connect('toggled', item => {
-                onSet(item.state);
-            });
-        }
-        return widget;
-    }
-
     _buildItem(string, schema, key) {
         const settings = new Gio.Settings({schema_id: schema});
         const widget = new PopupMenu.PopupSwitchMenuItem(string, false);
@@ -129,20 +117,17 @@ class ATIndicator extends PanelMenu.Button {
     }
 
     _buildFontItem() {
-        let settings = new Gio.Settings({schema_id: DESKTOP_INTERFACE_SCHEMA});
+        const settings = new Gio.Settings({schema_id: DESKTOP_INTERFACE_SCHEMA});
         let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR);
-        let initialSetting = factor > 1.0;
-        let widget = this._buildItemExtended(_('Large Text'),
-            initialSetting,
-            settings.is_writable(KEY_TEXT_SCALING_FACTOR),
-            enabled => {
-                if (enabled) {
-                    settings.set_double(
-                        KEY_TEXT_SCALING_FACTOR, DPI_FACTOR_LARGE);
-                } else {
-                    settings.reset(KEY_TEXT_SCALING_FACTOR);
-                }
-            });
+        const widget =
+            new PopupMenu.PopupSwitchMenuItem(_('Large Text'), factor > 1.0);
+
+        widget.connect('toggled', item => {
+            if (item.state)
+                settings.set_double(KEY_TEXT_SCALING_FACTOR, DPI_FACTOR_LARGE);
+            else
+                settings.reset(KEY_TEXT_SCALING_FACTOR);
+        });
 
         settings.connect(`changed::${KEY_TEXT_SCALING_FACTOR}`, () => {
             factor = settings.get_double(KEY_TEXT_SCALING_FACTOR);
@@ -151,6 +136,9 @@ class ATIndicator extends PanelMenu.Button {
 
             this._queueSyncMenuVisibility();
         });
+        settings.bind_writable(KEY_TEXT_SCALING_FACTOR,
+            widget, 'sensitive',
+            false);
 
         return widget;
     }